# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

module(name = "j2objc")

bazel_dep(name = "apple_support", version = "1.22.1")
bazel_dep(name = "bazel_skylib", version = "1.7.1")
bazel_dep(name = "rules_apple", version = "4.1.2")
bazel_dep(name = "rules_cc", version = "0.1.2")
bazel_dep(name = "rules_java", version = "8.12.0")
bazel_dep(name = "rules_jvm_external", version = "6.3")

maven = use_extension("@rules_jvm_external//:extensions.bzl", "maven")

maven.install(
    artifacts = [
        "com.google.errorprone:error_prone_annotations:2.41.0",
        "io.github.eisop:checker-qual:3.27.0-eisop1",
        "org.codehaus.mojo:animal-sniffer-annotations:1.24",
        "com.google.guava:guava:33.4.8-jre",
        "com.google.guava:failureaccess:1.0.3",
        "com.google.code.findbugs:jsr305:3.0.2",
        "junit:junit:4.13.2",
        "com.tngtech.java:junit-dataprovider:1.10.4",
        "org.hamcrest:hamcrest-core:1.3",
        "org.mockito:mockito-core:5.19.0",
        "javax.inject:javax.inject:1",
        "com.google.doclava:doclava:1.0.6",
        "com.google.jsilver:jsilver:1.0.0",
        "com.google.protobuf:protobuf-java:4.32.0",
        "com.google.protobuf:protobuf-javalite:4.32.0",
        "org.bitbucket.mstrobel:procyon-core:0.6.0",
        "org.bitbucket.mstrobel:procyon-compilertools:0.6.0",
        "org.plumelib:plume-util:1.11.0",
        "com.google.flogger:flogger:0.9",
        "com.google.flogger:google-extensions:0.9",
        "com.google.flogger:flogger-system-backend:0.9",
        "com.google.auto.value:auto-value:1.11.0",
        "com.google.auto.value:auto-value-annotations:1.11.0",
        "com.google.truth:truth:1.4.4",
        "org.jspecify:jspecify:1.0.0",
    ],
    repositories = [
        "https://repo1.maven.org/maven2",
    ],
)

use_repo(maven, "maven")

http_archive = use_repo_rule("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
    name = "annotation-tools",
    sha256 = "c1419ed005a8872c32484539d4d9d8731e79db4621244855f5a460fffbe45c86",
    urls = [
        "https://github.com/eisop/annotation-tools/releases/download/3.27.0-eisop1/annotation-tools-3.27.0-eisop1.zip"
    ],
    # This injects a BUILD file into the repository after it's extracted,
    # making the jar file a valid build target.
    build_file_content = """exports_files(["annotation-file-utilities/annotation-file-utilities-all.jar"])""",
)
